Category: Geeks r Us
There are many varieties of dos out there, from the well-known MS DOS, to PC Dos to FreeDOS. But all have their limitations. I want to create my own dos from scratch and make it a truly modern, upgradable and useful system. Therefor, while I want to follow some basic conventions, I'll need to depart from others. The first step is to choose a language for the project. Right now, I'm just getting started in QuickBasic, so this will be a long time in coming unless I get help. I also need to fully acquaint myself with MS Dos and perhaps Freedos. In the meantime, here are the proliminary goals I've set. I think these will help in deciding what language needs to be used for this opperating system.
1. Built-in speech or ability to use software synthesizers. Idealy, I'd like my dos to have a built-in screenreader, thereby eliminating the need to be compatible with previously existing ones.
2. Multitasking. One of the most pressing limitations on most dos systems today is the lack of multitasking. Rather than separate windows for each instance of a program, I'm borrowing from Apple in that I want each program to have one window, regardless of how many windows are open in the program i.e. Wordprocessor or web browser. Access to these programs can be achieved via a task switcher similar to that found in Wordperfect 5.1.
3. Compatability with pre-existing dos programs. As much as I'd love to rewrite my own software, there's no need to reinvent the wheel for decent ones already created. My only concern is how to make this modern system work with older software and that made for other modern varieties of dos.
4. ability to cut in paste, particularly from one program to another. This would facilitate the need for a clipboard.
5. Command-line interface with optional shell. One of the things that sets dos apart from graphical systems like Windows, Leopard etc is it's command line interface. I find it to be less complicated and generally faster than menu-driven systems. This is why I want to keep it in my version of dos. In fact, it's the groundwork for everything else. However, since some do prefer a shell with menus, I want to design a completely accessible one or impliment a pre-existing one and include with the os.
6. Ability to search the hard disk for documents etc. This is one of the features that I like in Windows.
7. Built-in internet access. While there are all-in-one internet programs for dos, I want one built-in and ready to go. Ideally, it should have a user-friendly interface for new users and those just wishing to get on the net without much technical knowledge as well as an advanced one for those who wish to work in the old way. Due to the unfortunate graphical nature of modern-day webpages, it also needs to be able to handle graphics, at least to some degree. I'll probably leave this to other programmers, since I won't be dealing with graphics on my end.
8. Ability to work with other access software and hardware such as braille displays and braille embossers.
9. Internationalisation. While I'll be writing my dos in English, I'd like it to be able to handle international keyboard layouts, particularly Greek.
10. Upgradability. As much as I want my dos to work with older software, it also needs to withstand the passage of time. so it must be upgradable so that it can accept modern interfaces etc that don't exist yet.
That said, totally graphical ones should be limited, since this is the reason behind my dos in the first place.
On the subject of ideas, yesterday I disided that I was going to buy shares in google to the point where I would be a majoritty shareholder.
bad command or file name. Try again. lol
Why bother, just use Linux.
I'm not touching Linux. Too complicated. I might play around with it but not too seriously.
You know, looking at your ideas, why don't you just use windows / osx? I really don't see what would be different about it.
It forfills all your requirements except for perhaps 5 but at the end of the day, you can quickly open up a cmd window in windows and you have the terminal in leopard. I know the cmd window isn't *propper* dos, but I challinj you to find something that you can do in propper dos as apposed to a cmd window.
If anything were to ever come of this, what would be best to do imho is start with dos as your base and then make a menue system for it. This is very easy as most of the backend stuff can be done in batch since the programming you'll have to do would be minimal; I actually did something vaguely like this back in 2002 but gave up due to it being pointless.
In regards to post 5, i'm sure that someone that hasn't used dos would say exactly the same if they were put in front of a dos prompt, it all comes down to how much expearience you have with the program / os. I find it mildly amusing that in the space of 1 post, you mension about how complicated linux is and then imply that you've never used it.
All imo though.
Windows is far too graphical and doesn't offer the stability or the command line of dos. Leopard is better but still not the same. Yes, I know it runs over Unix but as I said, that's far too complex for me to want to handle. Besides, I wanna make a truly modern and efficient dos, one that answers all the challenges of previous versions while still remaining true to it's foundations.
If nothing else, I now have the programming language answered. My friend said I should use C for most things and will need to use Assembler for others.
actually, linux is far less complex than doss with reliability, stability, modernization and upgradability built in, there are many distrows of linux that answer all of these, with much much much less limitations of doss.
but if you're dead set to dig an old practicly useless OS out of the grave, that's your choice. though, it is 2009, and you'll have many problems with all sorts of things that have advanced over the march of time with graphical user and non graphical user systems. people stopped using doss for a reason... lmao
Is it the fact you've been living with a dinosaur that makes you want to write a new version of an opporating system suitabole for one?
There really in no use or need for dos in the modern day, as no one is going to write software for one, so unless it's only ever going to be for your personal use, why waste your time?
As I said, there are several versions of dos that exist and that are still being developed today, most notably Freedos, which can work with many modern formats. There's also software being written for both open source and propriatory versions of dos. Del sells totally modern computers with Freedos built-in. Granted, they don't support them but they do still sell them. as a sidenote, the banking system in America actually still run on main frame computers which are so old that they make dos look young and which, because of their age, almost no one can fix. The last company stopped making them either in the late 90's or in the early 200's.
As for graphics, I know that even MS Dos could handle them to some degree but I want to avoid them as much as possible except where absolutely necessary. Trying to return to straight forward simplicity and less headaches here. *smile*
I've played around with Linux, and just like Dos, there are some completely cli-based distros, like for instence, GRML or what ever its called. But do to the rapid development of software for Linux and device drivers for Linux, you can use most modern braille displays out of the box, if you don't believe me, try Vinux. And if you're scared that you'll mess something up, use a virtual machine a few software programs are virtual Box, VMWare,(which seems to be the most accessible,) have never used parallels, and that's it, oh, and Microsoft's Virtual PC which is crap, from what I've been hearing. And too, more companies are sort of switching to Linux because of its security. And one more other thing, Linux has a lot of support from some device manufacturers and people in the opensource community. From all this stuff that I've said, someone tell me that I'm right, or wrong about any of this?
Oh yeah, and Dos is so hard to contain now. No one supports it.
Well, I know Leopard runs over Unix and VoiceOver already reads Terminal. So I can probably use that to learn if I wanted to. I just don't know. the command structure is so different and even reading about it gives me a headache. I suppose I can take a look, just to see. Couldn't hurt. If I install Linux on another machine, Which version can use ESpeak? Isn't there one specifically written for the blind?
Yeah, that's Vinux, has a gui, and so does Ubuntu, Vinux is just ubuntu with just extra features added for the blind.
Trust me, if you are willing to learn enough coding to write an operating system with multi threading and a built in screen reader, learning linux is about, may be 0.0000000001% of what you will have to learn for your project.
I find this idea absolutely awful, to be perfectly honest, sort of like saying "I am going to switch the power grid of the U.S. to using only hand lotion, without help".
Windows is perfectly stable, haven't had a XP crash on me for months with running it 24 7, it fulfills basically all your requirements. What is true is that command line support in Windows could be better and I belive Windows server O.S. development is partly looking at that issue, to enable more scripting, since scripted tasks are a major component of any corporate software stragedy, data mining and transfer etc.
Sure C and Assembly would work best in writing an O.S. but I super strongly encourage you to use your knowlegde to something more helpful. Learning programming is totally cool and there's tons of projects out there that are actually useful, take less than 2000 years to write and could not only help a bunch of people but also get you a pretty nice and well paid job.
Either way, of course best of luck to you whatever you decide, but I am just trying to prevent you from absolutely unreasonable expectations and exercises in futility.
This reminds me of what one mr. andy ihanakto calls a bar bet feature. Sure if you want to wind a bar bet and proove it can be done .. then yes its do able. its like when someone tries to get linux running on an iPod or Amazon Kindle. instead of writing your own dos from scratch why not contribute to one thats still being developed like free dos and get it to do what you want. Though if you put the time and effort into linux that you are putting into this dos idea of yours you could actually master that os and probably program for it with out half the headaches you would run into with trying to resurrect dos. Now for that great idea of mine, I am gonna buy enough shares in apple to become a majority share holder, maybe then i can get them to open up the iPhone a bit.
Well, it looks like someone's doing a pretty good job of creating a modern dos already!
http://www.drdosprojects.de/
Check out the about page for the actual story. The author/s make it as modern and up-to-date as possible. Now I just have to decide between this and Freedos but either way, there's a huge smile on my face. I may one day create my system as outlined, but for now, it looks like my favourite system is getting an awesome facelift. And there's a manual for it too! At least, for official Dr Dos, not this new one. and maybe, just maybe, this one can multitask?
Can someone pleeeeease explain to me how to download the system from here?
http://www.drdosprojects.de/index.cgi/download.htmN
Which files would I need? I've never compiled anything before and since I'm still new at all of this, I just want to be able to put the latest version of the system on my machine so I can try it. It has a 10 gb hard drive so memory is not a concern. Now about those silly screenreaders... lol
Just to answer Wildebrew's question, if I really am gonna do it, I might as well go all the way with the os I love rather than learning a new one. I mean, I've been a fan since I was a child and have had the I wanna use DOS/you should use Windows debate since at least high school, maybe longer. I just didn't have my laptop available for a few years so I could plunge into learning the os and never knew about modern varients. Maybe, I can bring up some ideas to the author of this one, since it's a mature system and given his own goals of making it live up to today's standards. Windows etc, as I've already said, is far too graphical and visual. Menus are fine but they take it to the extreme and have wmultiple windows floating all over the place which drives me nuts and graphics for things that simple keystrokes can accomplish much faster and without the fuss. I could never use whatever programming skills I acquire in the workplace cause I'm unwilling to work with all that visual crap. I've had Windows, several varieties, crash on me consistantly not even counting the number of times I've had to do system restore. I've had a few speech losses but the only time dos ever really crashed was when the hard drive on my 286 computer blew out and in that case, it was the machine not the os.
Your so ignirent it's incredible. The mainframe isn't dead, long live the mainframe. IBM is still investing lots of mony to make sure the mainframe continues to improve and meet the business and technology requirements of todays corporations. Please do some research instead of spouting off on topics you have no clue about.
I'm not talking about the main frame as a whole. I'm talking about the particular system that the banks use. I was told this by a very good source, who's father happens to be a programmer for such machines. As for being ignorant, you're correct in the proper sense of the word. This is certainly not my field of expertees. Now, back to the matter at hand. Which files should I download from there?
I forgot to add one thing that ticks me off about Windows, though I've never seen it in Leopard. When you install a program, it doesn't stay in one directory but goes all over the place. So you have to use an uninstall or ad/remove programs to get rid of it and even then it leaves residue. and sometimes, if the file's corrupt or whatever, it can't uninstall completely and you're left with the directory or a file from it. I like clean installs and uninstalls. How does Unix/Linux handle those?
I believe it uses the package manager to handle that, though I could be wrong about this. I'm n ot sure files you download, do you ahve the dos system installed? You will ahve to download a program from the website that will extract the packages.
No, this is entirely from scratch. My friend told me to get dr70107b.zip (the main system), drfmt10b.zip, drsys35b.zip, dxcpy14b.zip, pack101.zip and share.zip. He said this is the os with the copy and large file utilities and that this is the stable version. I find it a bit surprising that I can't use pkunzip to unzip the files but maybe, it's different since it's an os? In any case, I'll still need to ask him, my other friend or you guys how to compile it since I'm totally lost. You'd better believe I'll make a cd once everything is done so I can have it for future use. *smile*
well, seemes your little project is still trucking along.
in linux/unix installs and the like are handeled by a package manager. giving you clean uninstalls and installs. everything a program needes goes in that program's folder and a few files are modified to reflect its presence on the system, that's it, no crap everywhere.
it still really seemes to me this is a monumental task that will ultimately crash and burn. but good luck.
hmm, lets say that some guy was huge into everything historical egypt, so he decided to build a pyrimid the way they would with all the tules at hand egyptions would have been able to use at the time but, update and modernize it to reflect the passage of time... just saying from a perspective point.
Well, I might not even have to do this now that I found Enhanced DR-Dos. It looks like they're doing it for me. My job then would be to get on the band waggon and see if they're willing to accept any of my smaller suggestions. First, though, I gotta test out this os and see how compatible it is with a screenreader. If it really is like MS-Dos, there shouldn't be a problem. I know Freedos works, though not perfectly, with at least Provox so I'm guessing this one would too.
All right just call me the party pooper but here goes: To write an OS, you need to write a boot loader or some sort of boot-up sequence, device drivers for known hardware, support for your BIOS systems, disk access and memory management. All of this before you get to the shell, be it a command prompt or a GUI. In short, you need a kernel. You will need to learn Assembly primarily, to get this done, because you've got to have an active platform for your binaries - in whatever form - to operate and execute instructions. There are more than a lot of programmers - professionals - who would not dream of tackling this task alone. Bugs in the software is one thing. Bugs at the OS / shell level (so it won't boot, perhaps), are something else entirely. You'll need a test bed consisting of a number of machines: one of which would emulate your OS in a virtual environment so you can fix problems (and they'll be many) in your boot loader. You'll need to learn enough about hardware interfaces to make your best judgements on the lowest common denominator for basic support of device types, e.g. sound, video, disk, network, etc. Then you want the system to be Internet-ready, meaning it's got to have at least PPP, TCP/IP and some form of direct-access support for your network cards/adapters. Google Build Your Own OS or similar results. You'll have your work cut out for you.
Thanks, as always, for your wonderful explanation. I think I'll stick with playing with Enhanced Dr-DOS for now. If it really is as good as I think, I might not even need to write my own.
I'd say as others have said before to use linux, I think that is going to be the closest you are going to get to your project. Especially vinux 2.0 has a GUI, but also has a shell you can use. Orca is built in to the distro, as well as speakup for the console that is out of the GUI. Maybe I'm wrong, but I think that this is the closest you are going to get.
I'll see what happens with Enhanced DR-Dos. If it still needs alot of improvement, is totally inaccessible with a screenreader or if, for some reason, I don't like it, I might consider Linux. But it's very far down on the list. If I'm gonna use a pre-existing system, I want one that, as a nonprogrammer, I can understand that won't give me a headache. Also, I asked a good friend of mine about directories and deleting files. He said that it's like Windows in that a program isn't just in one directory. It's scattered. So you can't just delete that program's directory and expect it to go away. I don't like interconnected systems like that. Granted, Leopard, which runs ontop of Unix, doesn't seem to do that but maybe it's an Apple thing?
You have to be careful with the directories. and when installing programs, you have to install them under route I think, Or I could be wrong, its totally different from windows.
That is also true for when making huge settings to the system. If you're a first time user, you don't want to be messing with the route account.
That's why I said, too much of a headache. I'd rather work in an environment in which I feel comfortable.
odd, I've never had that problem.
apt-get install xxxxxx
apt-get remove xxxxxxxxxx
Their all done, no left behind files.
True, you don't have to do everything from the root account, and if you do, sudo su enter, password enter, make your changes then do exit, and bam all done. If you can use doss, you'll be fine with linux. This is coming from a guy who is an utter newbie with linux, or if theirs is something less then a newbie, that's me.
To post 1:
I don't see why you want to use DOS other than just for experimentation. I would go with Linux, distro doesn't really matter, since as people on here have said Vinux is accessible. To MM91, its nice to have root easily accessible, but that also creates a security risk, of your password is too short, or easily memorable. Actually, yes, Mac OSX does do the put prog files in different dirs, that's why it has no built in uninstaller. There are third party ones that do the same thing as Windows uninstaller, but better. They're similar to apt-get on Debian based distros, or yum on Fedora based distros. They keep track of every file created by a program. Why Apple didn't include this by default is a good question.
This is where that post was supposed to go. In answer to the question above, speed, even on the net (will get page for that in a bit), reliability, stability, familiarity, ease of use, no bloatware, no spyware or malware, no viruses, tons of software and, like the gui systems, large base of users with many lists etc. I realise some of these might not always be true with enhanced DR-DOS but still worth a shot. Also, I don't wanna learn a whole new operating system. The new dos might be a bit different from the MS variety but not that much. I'm already learning Quickbasic, which a whole language, and that's enough for now.
I believe Quick basic is out of date, too. Its all about C++,Python!; some of the more popular ones out there. Linux is Primarly programmed in Python, C++, and that's all that I've seen. I know foffor sure its programmed in Python and C++
Yes, but it's the easiest to learn and makes the most sense to me. It's not a visual or object-oriented language and I like that. I've got the software and the tutorials so I should be fine. I'm not learning for commercial purposes but for myself. I might learn C after this but not sure.